Motor assistance for a hybrid vehicle based on predicted driving range

ABSTRACT

A method of providing assistance to an internal combustion engine for a vehicle using an electric motor coupled to the engine is provided. The method comprises predicting a driving range based on historical driving range data. The historical driving range data includes one or more distances that the vehicle was driven during one or more previous driving cycles. The method further comprises selectively operating the motor to provide assistance to the engine at predetermined operating conditions of the engine. The assistance provided to the engine at one or more of the predetermined operating conditions is determined based at least in part on the predicted driving range.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims priority to and the benefit of the following patent applications, the disclosures of which are incorporated herein by reference in their entireties: Indian Patent Application No. 2108/MUM/2009, filed Sep. 15, 2009; Indian Patent Application No. 2109/MUM/2009, filed Sep. 15, 2009; International Application No. PCT/IN2009/000655, filed Nov. 15, 2009; International Patent Application No. PCT/IN2009/000656, filed Nov. 15, 2009; and Indian Patent Application No. 1391/MUM/2010, filed Apr. 30, 2010.

BACKGROUND

The present disclosure relates generally to the field of vehicle powertrain systems. More particularly, the present disclosure relates to hybrid vehicle powertrain systems utilizing an engine and a motor.

Most vehicles currently on the road require a relatively large internal combustion engine to produce power needed for rapid acceleration. The engine on a standard vehicle is typically sized for the peak power requirement. However, most drivers use the peak power of their engines for only a small portion (e.g., one percent) of their driving time. Large engines may be heavy and inefficient and may result in higher emissions and/or lower fuel economy.

Vehicle efficiency may be improved through the use of a hybrid system that utilizes both an electric motor and an engine. In some hybrid systems, an electric motor may provide power to drive the vehicle over a certain range of operating conditions and an engine may provide power to drive the vehicle over a different range of operating conditions (i.e., such that only one of the motor and the engine provide power at any given time). In other hybrid systems, a motor may assist an engine in providing power to drive the vehicle. Hybrid systems may be capable of delivering required power with a smaller engine than non-hybrid systems. Small engines may be lighter, have fewer cylinders, and/or normally operate closer to their maximum load than large engines. The use of small engines may improve the efficiency (e.g., emissions, fuel economy) of a vehicle.

It would be advantageous to provide an improved hybrid system for a vehicle that provides improved fuel economy and reduced emissions as compared to current hybrid systems.

SUMMARY

An exemplary embodiment relates to a method of providing assistance to an internal combustion engine for a vehicle using an electric motor coupled to the engine. The method comprises predicting a driving range based on historical driving range data. The historical driving range data includes one or more distances that the vehicle was driven during one or more previous driving cycles. The method further comprises selectively operating the motor to provide assistance to the engine at predetermined operating conditions of the engine. The assistance provided to the engine at one or more of the predetermined operating conditions is determined based at least in part on the predicted driving range.

Another exemplary embodiment relates to a motor controller. The motor controller comprises one or more processors configured to execute instructions stored on one or more computer-readable media. The instructions are executable by the one or more processors to implement a method comprising predicting a driving range based on historical driving range data. The historical driving range data includes one or more distances that the vehicle was driven during one or more previous driving cycles. The method further comprises selectively operating the motor to provide assistance to the engine at predetermined operating conditions of the engine. The assistance provided to the engine at one or more of the predetermined operating conditions is determined based at least in part on the predicted driving range.

Another exemplary embodiment relates to a hybrid drive system for a vehicle. The hybrid drive system comprises an electric motor configured to provide assistance to an internal combustion engine to provide motive power for the vehicle. The hybrid drive system further comprises a controller configured to control operation of the electric motor. The controller comprises one or more processors configured to execute instructions stored on one or more computer-readable media. The instructions are executable by the one or more processors to implement a method comprising predicting a driving range based on historical driving range data. The historical driving range data includes one or more distances that the vehicle was driven during one or more previous driving cycles. The method further comprises selectively operating the motor to provide assistance to the engine at predetermined operating conditions of the engine. The assistance provided to the engine at one or more of the predetermined operating conditions is determined based at least in part on the predicted driving range.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a schematic view of a hybrid power system for a vehicle according to an exemplary embodiment.

FIG. 1B is a schematic view of a hybrid power system for a vehicle according to another exemplary embodiment.

FIG. 2A is a block diagram of a motor control system according to an exemplary embodiment.

FIG. 2B is a more detailed block diagram of a motor control system according to an exemplary embodiment.

FIG. 3A is a flow diagram of a process for controlling a motor to provide assistance to an engine according to an exemplary embodiment.

FIG. 3B is a flow diagram of a process for determining the assistance provided to an engine by a motor according to an exemplary embodiment.

FIG. 3C is a contour graph of the efficiency of a sample engine under varying operating conditions according to an exemplary embodiment.

FIG. 3D is a graphical representation of emissions data resulting from an emissions test according to an exemplary embodiment.

FIG. 4A is a flow diagram of a process for determining the assistance provided to an engine by a motor based on a predicted driving range according to an exemplary embodiment.

FIG. 4B is a motor assistance table illustrating the average assistance that may be provided at different available energy levels and driving ranges for an exemplary set of motor assistance profiles according to one exemplary embodiment.

FIGS. 4C through 4F are graphical representations of the assistance provided to an engine by a motor at various driving ranges according to various exemplary embodiments.

FIG. 5A is a flow diagram of a process for collecting and/or storing information for use in determining a driving range according to an exemplary embodiment.

FIG. 5B is a flow diagram of a process for determining a driving range based on historical driving range data according to an exemplary embodiment.

FIG. 5C is a flow diagram of a process for determining a driving range based on historical driving range data according to another exemplary embodiment.

FIG. 5D is a flow diagram of a process for determining a driving range based on historical driving range data according to another exemplary embodiment.

FIG. 5E is a flow diagram of a process for determining a driving range based on historical driving range data according to yet another exemplary embodiment.

FIG. 6 is a graphical representation of emissions data resulting from an emissions test with assistance provided by a motor according to an exemplary embodiment.

FIGS. 7A, 7B, 8A, and 8B are graphical representations of emissions data resulting from emissions tests according to various exemplary embodiments.

FIGS. 9A through 9D are graphical representations of the efficiency of a sample engine under various operating conditions according to exemplary embodiments.

FIGS. 9E through 9H are histograms related to the data represented in FIGS. 9A through 9D, respectively, according to exemplary embodiments.

DETAILED DESCRIPTION

Referring generally to the figures, systems and methods for assisting an engine in providing driving power for a vehicle are described according to various exemplary embodiments. A motor is coupled to the engine and is configured to assist the engine in providing driving power for the vehicle. The motor may be selectively controlled to provide varying levels of assistance at different operating conditions. For example, greater assistance may be provided at operating conditions where the benefit of the assistance (e.g., on reduced emissions, increased fuel economy, increased power, etc.) is higher, and less assistance may be provided at operating conditions where the benefit of the assistance is lower.

According to various exemplary embodiments, the amount of assistance provided and/or the operating conditions at which assistance is provided may be varied based on the power available to drive the motor and/or an expected driving range, or distance that the vehicle is expected to be driven between charges (e.g., for a plug-in hybrid vehicle). In some embodiments, the assistance may be configured based on the available power to drive the motor (e.g., the difference between a starting depth of discharge and a maximum depth of discharge for the energy storage device). In other embodiments, the assistance may be configured based alternatively or additionally on an expected driving range. The driving range may be predicted or calculated based on historical driving range data for a user. If the assistance is not configured to the available charge and/or expected driving distance, a user may drive the vehicle a shorter distance than expected or the energy storage device(s) may have more available energy than anticipated and charge may remain unused at the end of the driving cycle (e.g., less than the available amount of assistance may be provided). Alternatively, a user may drive the vehicle a longer distance than expected or the energy storage device(s) may have less available energy than anticipated and the charge may be depleted before the end of the driving cycle (e.g., the motor may be unavailable to assist the engine for at least a portion of the driving cycle). By configuring the assistance based on the available power and/or the expected driving range, the assistance may be tailored (e.g., optimized) to the expected conditions of the driving cycle and the assistance may be provided judiciously (e.g., such that the available assistance is largely utilized during the drive cycle and the motor is available to assist the engine for most of the drive cycle). Determining the expected driving range based on historical data may allow a user to obtain the benefit of motor assistance customized to expected driving conditions without requiring the user to input parameters to configure the assistance.

Referring now to FIG. 1A, a hybrid drive system 100 and components thereof are shown according to an exemplary embodiment. Hybrid drive system 100 is configured to be installed within a vehicle (e.g., automobiles such as cars, trucks, sport utility vehicles, minivans, buses, and the like; tri-pods, scooters, airplanes, boats, etc.), either by an original equipment manufacturer and/or by another entity as a retrofit application. Hybrid drive system 100 may selectively reduce the driving load of an engine and/or increase the torque capacity of an engine by assisting in the rotation of a crankshaft of the engine. The addition of hybrid drive system 100 to a vehicle is intended to improve fuel economy, emission rates and/or vehicle power in comparison to the same vehicle operating without hybrid drive system 100. Hybrid drive system 100 may be installed at any suitable location within a vehicle and integrated with any other vehicle components, and may be provided in a wide variety of sizes, shapes, and configurations, and installed using a wide variety of manufacturing and assembly processes according to various exemplary embodiments. All such variations are intended to be within the scope of the present disclosure.

FIG. 1A is a schematic illustration of hybrid drive system 100 according to an exemplary embodiment. Hybrid drive system 100 generally includes an internal combustion engine 102, an electric motor 104, a motor control unit 106, and a source of electrical power shown in FIG. 1 as a battery pack 108 including a number of energy storage devices in the form of electrochemical cells (although capacitive devices such as supercapacitors and/or ultracapacitors may be used in place of or in addition to the batteries according to other exemplary embodiments). Internal combustion engine 102 functions as a prime mover of the vehicle by generating a torque output that is sufficient to drive one or more wheels 110 of the vehicle. Electric motor 104 is provided to assist internal combustion engine 102 by reducing the driving load of internal combustion engine 102 and/or by augmenting the power of internal combustion engine 102. Electric motor 104 is powered by battery pack 108 and controlled by motor control unit 106.

In addition to assisting internal combustion engine 102 by reducing the driving load of internal combustion engine 102 and/or by augmenting the power of internal combustion engine 102, electric motor 104 may also be configured to function as a generator for charging battery pack 108 and/or for supplying electric energy to various electrical components within the vehicle. Electric motor 104 may be configured to function as a generator (e.g., provide a regeneration function) during one or more operating conditions of the vehicle, such as when the vehicle is coasting down a slope, during braking, when the vehicle is moving forward due to its accumulated momentum (e.g., without the need for driving power from internal combustion engine 102), and/or during other operating conditions. Electric motor 104 may further be configured to supply mechanical energy (e.g., rotational mechanical energy, etc.) for operating one or more systems within the vehicle. For example, as detailed below, electric motor 104 may be used to power a compressor that is part of an air conditioning system of the vehicle.

Still referring to FIG. 1A, internal combustion engine 102 includes an output shaft, shown as a crankshaft 116 having a first output 118 and a second output 120. First output 118 is configured to be coupled to a drive train of the vehicle for delivering power to one or more of wheels 110. According to the embodiment illustrated, the vehicle is a front wheel drive vehicle and the drive train includes a transmission 122 (either an automatic transmission or a manual transmission) coupled to the front wheels 110 via one or more axles, differentials, linkages, etc. According to the various alternative embodiments, hybrid drive system 100 may also be used on a rear-wheel drive vehicle and/or an all-wheel drive vehicle. Internal combustion engine 102 delivers rotational mechanical energy to the drive wheels through transmission 122 by rotating crankshaft 116.

Electric motor 104 is coupled in parallel with internal combustion engine 102 to assist internal combustion engine 102 in supplying the rotational mechanical energy to transmission 122. According to the embodiment illustrated, electric motor 104 is coupled to second output 120 of crankshaft 116; second output 120 being provided at an end of crankshaft 116 that is opposite first output 118 such that electric motor 104 is coupled to an end of crankshaft 116 that is opposite the end which is coupled to transmission 122. Coupling electric motor 104 at such a position relative to internal combustion engine 102, rather than on the same side as transmission 122, may simplify the addition of hybrid drive system 100, particularly in retro-fit applications. Further, positioning electric motor 104 before transmission 122 allows electric motor 104 to take advantage of the gearing of transmission 122 to reduce the load on electric motor 104. For example, for a vehicle having a 5-speed manual transmission, the gear ratios may vary between approximately 3.45 and approximately 0.8 as the gear position is changed from first gear to fifth gear. Thus, for the given example, coupling electric motor 104 to crankshaft 116 before transmission 122 would advantageously allow electric motor 104 to provide an output torque in first gear that is 3.45 times greater than if the same electric motor 104 was coupled to crankshaft 116 after transmission 122. As such, the system allows a smaller electric motor 104 to be used to meet the torque demand of a particular application than if electric motor 104 was coupled to crankshaft 116 after transmission 116.

Electric motor 104 assists internal combustion engine 102 by assisting in the rotation of crankshaft 116 and thereby reducing the driving load of internal combustion engine 102 and/or augmenting the power of internal combustion engine 102. Because the driving load of internal combustion engine 102 can be reduced, the fuel consumption and/or the emission rates can be improved. The amount of assistance provided by electric motor 104, and/or the time period at which assistance is provided by electric motor 104, may vary depending on the particular needs and/or parameters of the application in which hybrid drive system 100 is being used. The assistance of electric motor 104 may help move the operation of internal combustion engine 102 into a more efficient operating zone, resulting in lower emissions, increased fuel economy, etc.

Electric motor 104 generally includes a motor housing 124 and an output shaft 126. According to an exemplary embodiment, electric motor 104 is positioned relative to internal combustion engine 102 such that housing 124 is adjacent to a side of internal combustion engine 102, with output shaft 126 being substantially parallel to and offset from crankshaft 116. According to the embodiment shown, electric motor 104 is positioned forward of internal combustion engine 102 (relative to a driving direction of the vehicle) and is coupled to internal combustion engine 102 via a pulley system 126. Pulley system 126 generally includes a first pulley 128 and a second pulley 130. First pulley 128 is rotatably coupled to second output 120 of crankshaft 116, while second pulley 130 is rotatably coupled to output shaft 124 of electric motor 104. A coupling device (e.g., chain, strap, etc.), shown as a belt 132, is provided between first pulley 126 and second pulley 128.

According to the various alternative embodiments, the pulley system may be replaced with any other suitable coupling system including, but not limited to, a system of gears. Referring to FIG. 1B, hybrid driver system 100 is shown according to another exemplary embodiment. According to the embodiment illustrated, electric motor 104 is positioned relative to internal combustion engine 102 such that an end of housing 124 is facing an end of internal combustion engine 102 and output shaft 126 is at least partially aligned (e.g., coaxial, concentric, etc.) with second output 120 of crankshaft 116. A shaft coupling (e.g., universal joint, collar, etc.), shown as a universal coupling 136, is provided between output shaft 126 and second output 120 to directly couple electric motor 104 to internal combustion engine 102. Universal coupling 136 is configured to compensate for any slight misalignment between output shaft 126 and second output 120. According to the embodiment illustrated, universal coupling 136 is mounted to first pulley 128, which is rotatably supported by internal combustion engine 102. Similar to the embodiment detailed above with respect to FIG. 1A, first pulley 128 may support a belt coupled to at least one of an alternator and a compressor of an air conditioning system.

Referring now to FIG. 2A, a block diagram of a motor control system 200 for a hybrid vehicle is shown according to an exemplary embodiment. Motor control system 200 includes a motor controller 204 configured to generate and/or provide one or more control signals for an electric motor 205 similar to that described above in conjunction with hybrid drive system 100. Motor controller 204 may include one or more processors (e.g., microcontrollers) and one or more computer-readable media (e.g., memory) configured to store various data utilized by motor control system 200 and/or instructions that may be executed by the processor(s) to perform various functions. A memory of motor controller 204 may include a motor control module that generates the control signals for controlling motor 205. In some embodiments, the motor control module may generate the control signals based on one or more motor assistance profiles such as those discussed in greater detail with respect to FIGS. 3 and 4. Motor controller 204 may also be configured to manage energy provided by an energy storage device 203 (e.g., battery, capacitor, array of batteries and/or capacitors, etc.). In various embodiments, energy storage device 203 may include one or more lead acid batteries, lithium-ion batteries, nickel-metal-hydride batteries, supercapacitors, and/or other types of energy storage devices.

Motor controller 204 may receive one or more vehicle inputs 201 (e.g., brake, clutch, vehicle speed, rotational speed, temperature, etc.) from various sensors, circuits and/or other components of the vehicle. In some embodiments, motor controller 204 may be configured to generate control signals for the motor and/or manage the use of energy from energy storage device 203 based on one or more of vehicle inputs 201. Motor controller 204 may be configured to generate one or more system outputs 202. In various embodiments, system outputs 202 may include a motor controller power output to toggle power to the motor controller, a fault lamp output to indicate a fault, display outputs to display various information about motor controller system 200 (e.g., to a driver of the vehicle, mechanic, etc.), and/or other types of outputs.

Referring now to FIG. 2B, a more detailed block diagram of one possible motor control system 240 is shown according to an exemplary embodiment. Motor control system 240 includes a motor controller 254 (e.g., a proportional-integral-derivative, or PID, controller). Motor controller 254 includes one or more processors 262 and a memory 264. Memory 264 may include one or more modules (e.g., software modules). The modules stored in memory 264 may include a motor control module 268 configured to generate one or more control signals to control the operation of a motor 260 (e.g., poly-phase motor, single phase motor, AC motor, DC motor, induction motor, etc.). Motor 260 may be coupled to an engine of the vehicle (e.g., by a universal coupling or a belt) and configured to provide assistance to the engine. In some embodiments, motor control module 268 may generate the control signals based on one or more motor assistance profiles such as those discussed in greater detail with respect to FIGS. 3 and 4.

The modules may also include an energy management module 266 configured to manage energy provided by one or more energy storage devices 253. Energy storage devices 253 may include batteries, capacitors, and/or other types of storage devices. In some embodiments, energy storage devices 253 may be electrically coupled to a capacitor 255 configured to temporarily store charge (e.g., such as energy regenerated by the vehicle during downhill coasting, braking, etc.). Energy storage devices 253 may also be connected to a charging device (e.g., for a plug-in hybrid). Energy management module 266 may be configured to determine the amount of available charge remaining in energy storage devices 253. In some embodiments, energy management module 266, alone or in combination with motor control module 268, may be configured to change the control signals provided to motor 260 based on the available charge in energy storage devices 253 and/or other vehicle operating conditions.

Motor controller 254 may be configured to receive various inputs from the engine, energy storage devices 253, and/or other components of the vehicle. The inputs may include digital inputs 250 (e.g., brake, hand brake, clutch, reverse, air conditioning, ignition, mode selection, such as economy or power, etc.), modulated and/or encoded inputs 251 (e.g., vehicle speed sensor, engine speed sensor, encoders, etc.), analog inputs 252 (e.g., motor temperature, engine temperature, temperature for energy storage device(s), throttle position, manifold pressure, brake position, etc.), and/or other types of inputs. In some embodiments, inputs 250, 251, and/or 252 may be isolated through isolator circuitry (e.g., galvanic isolators). Information received at inputs 250, 251, and/or 252 may be received from various vehicle sensors (e.g., existing vehicle sensors, sensors added to vehicle for use by motor control system 240, etc.). In some embodiments, inputs 250, 251, and/or 252 may be received from a communication link between two or more microcontrollers (e.g., engine control or vehicle control modules), such as by tapping into the link between two controllers. In such embodiments, links between controllers may be configured to be controller area network bus (“CAN-bus”) links or links according to another suitable protocol for communication between two controllers in a vehicle.

Motor controller 254 may also be configured to generate one or more outputs (e.g., digital outputs, analog outputs, etc.) such as injector outputs 256 and/or system outputs 257. Injector outputs 256 are configured to control fuel injectors (e.g., through one or more controllers) to delay and/or limit the flow of fuel to the engine. In some embodiments, motor controller 254 may be configured to control the fuel injectors without modifying an engine control unit and/or engine management system. System outputs 257 may include a power supply control output, motor controller cooling fan output, fault lamp output, pump output, and/or other types of outputs used to provide information to and/or control various components of the vehicle. Motor controller 254 may also be configured to generate display information 258 for display to a driver of the vehicle (e.g., on a display on or near the dashboard of the vehicle).

Referring now to FIG. 3A, a flow diagram of a process 300 for controlling a motor (e.g., motor 104 shown in FIGS. 1A and 1B) to provide assistance to an engine (e.g., internal combustion engine 102 shown in FIGS. 1A and 1B) is shown according to an exemplary embodiment. Process 300 may be used to selectively control and/or operate the motor to provide assistance to the engine at one or more predetermined operating conditions of the engine, vehicle and/or hybrid system (e.g., motor, energy storage device(s), etc.).

At step 302, process 300 monitors one or more operating conditions of the engine, vehicle and/or hybrid system. A motor controller may monitor operating conditions such as linear speed, rotational speed (RPM), engine load, acceleration and/or acceleration demand, etc. The motor controller may receive inputs from one or more sensors for use in monitoring operating conditions of the engine, such as a vehicle speed sensor, an engine speed (e.g., rotational speed) sensor, a throttle position, a gear position, etc. The motor controller may be configured to determine (e.g., continuously, periodically, etc.) one or more sets of operating conditions for use in determining the assistance to be provided by the motor.

At step 304, the assistance to be provided by the motor is selectively determined based on the operating conditions monitored at step 302. The assistance may be determined according to a motor assistance profile that defines the level of assistance that should be provided at various operating conditions. In one embodiment, the motor assistance profile may be a lookup table (e.g., stored in a memory associated with the motor controller) having data representing the level of assistance that should be provided at different linear speeds and rotational speeds. For a set of operating conditions observed by the motor controller at step 302, the motor controller may be configured to look up the assistance that should be provided by the motor, if any, in the motor assistance profile. The assistance to be provided by the motor may then be set based on the value contained in the motor assistance profile that most closely corresponds with the observed operating conditions. For example, the motor assistance profile may include a value indicating that the motor should provide a low level of assistance (e.g., a motor output torque of ten percent of the peak torque) at a speed of 20 km/h and an RPM of 3,200 RPM. In another example, the motor assistance profile may indicate that the motor should provide a higher level of assistance (e.g., a motor output torque of 90 percent of the peak torque) at a speed of 50 km/h and an RPM of 1,300 RPM. In various embodiments, the assistance levels reflected in the motor assistance profile may be based on other operating conditions, such as demand for acceleration, engine load, gear position, etc.

At step 306, signals are generated to control the operation of the motor (e.g., the assistance provided by the motor) based on the assistance level determined at step 304. The signals may be generated based on the value obtained from the motor assistance profile for the operating conditions observed at step 302. The generated signals may then be sent to the motor to control the motor's operation and/or the assistance provided by the motor to the engine.

In some embodiments, for at least some operating conditions (e.g., when the operating conditions indicate a demand for acceleration) the motor may be operated at a higher current (e.g., a peak current) or higher torque (e.g., a peak torque) than the continuous operating rating for the motor during such operating conditions (e.g., indicating a rapid increase in emissions and/or power demand or acceleration) for a short time or pulse. In some embodiments, the higher current and/or torque at which the motor may be operated to provide assistance during such conditions may be three to four times the continuous rating of the motor. For example, in one embodiment, a motor having a continuous current rating of 50 amps (“A”) may be pulsed at a current level of 180A or at some other (e.g. predetermined) value above the continuous 50A rating of the motor. In another example, a motor having a continuous torque rating of 30 Newton-meters (“N-m”) may be pulsed at a torque level of 40 N-m or at some other value above the continuous 20 N-m rating of the motor. By operating the motor at a high current and/or torque in the form of short pulses, a small motor may be utilized (e.g., providing cost savings, easier integration of the motor with existing components, etc.) without substantially damaging the motor during operation at higher current and/or torque levels than the motor's continuous rating. Exemplary embodiments in which the motor may be operated at a current and/or torque that is higher than its rated continuous values are discussed in further detail with reference to FIG. 3B.

Referring now to FIG. 3B, a flow diagram of a process 310 for determining the assistance to be provided to an engine (e.g., internal combustion engine 102 shown in FIGS. 1A and 1B) by an electric motor (e.g., motor 104 shown in FIGS. 1A and 1B) is shown according to an exemplary embodiment. Process 310 may be used to determine a motor assistance profile that defines how the motor will assist the engine under different driving conditions (e.g., the amount of assistance that will be provided at different linear and/or rotational speeds). The motor may be tuned to provide selective assistance to the engine based on the determined motor assistance profile. In some embodiments, use of the motor to assist the engine (e.g., based on the motor assistance profile) may allow the engine to operate more efficiently and/or may provide for reduced vehicle emissions, reduced fuel consumption (i.e., increased fuel economy), increased vehicle power, and/or other benefits.

At step 312 of process 310, emissions data is determined (e.g., collected or received) for an engine of interest across a range of operating conditions to characterize the engine. The emissions data may include data relating to carbon monoxide emissions, carbon dioxide emissions, hydrocarbon emissions, nitrogen oxide emissions, and/or other vehicle emissions. In some embodiments, other data (e.g., different than but related to emissions data, such as engine load, gear position, acceleration data, etc.) may be used to determine a motor assistance profile for the engine. Each type of engine (e.g., petrol, diesel, etc.) is associated with different emissions data (e.g., a different emissions profile or curve). For example, the engine of a small hatchback car would likely result in different emissions data than the engine of a large truck. Different emissions data or emissions profiles may be determined for each type of engine for which the hybrid system is utilized.

In one embodiment, the emissions data may be collected based on emissions testing of the engine of interest. For example, one or more sample engines of a particular type (e.g., an engine used in a particular car or line of cars) may be tested for emissions. In one embodiment, emissions may be tested by running the engine on a device (e.g., a dynamometer) configured to measure linear speed and/or rotational speed (e.g., revolutions per minute (“RPM”)) while measuring emission levels (e.g., at the vehicle's tailpipe) using an exhaust gas analyzer or other emissions measurement device. Linear speed and rotational speed are referred to herein as speed and RPM, respectively, but it should be appreciated that other measures of linear and/or rotational speed may be used in various embodiments.

Emissions data may be collected based on the test or tests. In one embodiment, the emissions data may be configured to reflect a relationship between at least two of linear speed, rotational speed, and engine emissions. In embodiments in which multiple sample engines are tested, the emissions data may be collected and/or calculated based on a selection of the most desirable and/or accurate result or results or a combination of the results (e.g., the average of the results, the standard deviation of the results, etc.). In one embodiment, a motor assistance profile created based on the emissions data may be used for multiple or all engines of the type tested (e.g., all types or lines of cars utilizing the tested engine). Determining emissions data for an engine based on test measurements may reduce or eliminate the need for the individual or entity creating the motor assistance profile to have access to predetermined emissions data for the engine and/or vehicle (e.g., to create the motor assistance profile in a “black box” environment). In other exemplary embodiments, predetermined emissions data may be provided for the engine and/or vehicle (e.g., by the engine and/or vehicle manufacturer) and the provided emissions data may be used to create a motor assistance profile.

Once emissions data has been obtained for the engine of interest, the emissions data is analyzed and a motor assistance profile is created based on the analysis of the emissions data (step 314). The motor assistance profile may be designed to direct the motor to assist the engine in a manner that improves the efficiency of the engine and reduces emissions. Referring to FIG. 3C, a contour graph 350 is shown illustrating the efficiency of a particular engine according to an exemplary embodiment. The x-axis of graph 350 represents rotational speed in percentage increments between a minimum RPM and a maximum RPM. The y-axis of graph 350 represents the load on the engine (e.g., in manifold absolute pressure, or MAP) in percentage increments between a minimum load and a maximum load. Graph 350 includes a plurality of zones 352 through 370 in which the engine operates under various levels of efficiency. The engine operates most efficiently when it is run in zone 352, which corresponds to a relatively high load and relatively low RPM. Engine load as shown in graph 350 is related to vehicle speed; generally, as the vehicle speed increases, the load on the engine increases. The efficiency of the engine decreases sequentially as the engine is operated in each zone outside of zone 352. For example, the second most efficient zone of operation is zone 354, which is immediately adjacent to zone 352 in graph 350. The third most efficient zone of operation is zone 356, the fourth most efficient zone is zone 358, the fifth most efficient zone is zone 360, and so on. The least efficient zone (e.g., the zone where the engine emits the greatest emission levels and consumes the most fuel) is zone 372. In some embodiments, process 310 may utilize the motor assistance profile to provide assistance to the engine and shift the operation away from a less efficient zone to a more efficient zone.

Referring now to FIG. 3D, a graph 375 illustrating emissions data for a sample engine or vehicle (e.g., obtained at step 312 of the exemplary embodiment of FIG. 3B) is shown according to an exemplary embodiment. Graph 375 includes an emissions curve 380 representing the determined emissions with reference to an emissions axis 382. Emissions axis 382 represents emissions in percentage points between a minimum emissions level (e.g., in parts per million) and a maximum emissions level. The emissions reflected in emissions curve 380 in the illustrated exemplary embodiment are carbon monoxide emissions. In other exemplary embodiments, the emissions may be carbon dioxide emissions, hydrocarbon emissions, nitrous oxide emissions, or other types of emissions. Graph 375 also includes a speed (e.g., linear speed) curve 384 representing the speed of the vehicle with reference to speed axis 386. Speed axis 386 represents linear speed in percentage points between a minimum speed (e.g., in kilometers per hour (“km/h”)) and a maximum speed. Graph 375 further includes a time axis 388 representing the time over which the test is conducted. Time axis 388 represents time in percentage points from a test start time (e.g., in seconds) to a test end time. In the illustrated exemplary embodiment, the vehicle was progressed through its gear range from a low to a high speed in increments. For each gear, the vehicle was run at a low speed for the gear and the speed was increased (e.g., in fixed or variable increments) until a high speed for the gear was reached, at which point the vehicle was shifted into the next highest gear. This process was repeated for five gears. Point 390 on time axis 388 reflects the time at which the vehicle was shifted from first to second gear, point 392 reflects the shift from second to third gear, point 394 reflects the shift from third to fourth gear, and point 396 reflects the shift from fourth to fifth gear. In various exemplary embodiments, other tests or variations to the illustrated test may be utilized to obtain emissions data.

Referring again to FIG. 3B, the determination of the engine operating conditions at which assistance from the motor should be provided and/or the level or amount of assistance provided is made based upon the emissions data, and a motor assistance profile is created based on the determination (step 314). Assistance may be provided over one or more ranges of operating conditions (e.g., ranges of linear and rotational speeds) of the engine. The level of assistance may vary between the one or more ranges and/or within a single range. For example, it may be determined that assistance should be provided in a speed range from 20 km/h to 90 km/h and/or an RPM range from 1,000 RPM to 3,700 RPM, but that more assistance should be provided in a lower sub-range of RPM for a particular speed (e.g., for a higher gear) than a higher sub-range of RPM for that speed (e.g., for a lower gear).

For further example, for the exemplary engine reflected in graph 375 of FIG. 3D, it may be determined that greater assistance should be provided at point 398, where the RPM is lower, than point 397, where the RPM is higher. At higher speeds, lower gears operate at a higher RPM than higher gears operate at the same speed. For example, immediately prior to point 392, at point 397, the engine operates at a higher RPM in second gear than it operates immediately after point 392, at point 398, at the same speed in third gear. Providing greater assistance at point 398 may have a greater effect on the efficiency of the engine than providing greater assistance at point 397; because the RPM is lower at the same speed at point 398 than at point 397, the emissions are higher (as reflected in emissions curve 380).

Providing assistance to the engine from the motor allows the engine to achieve the desired speed and/or acceleration while operating at a lower RPM than would be possible if the engine were the sole component providing driving power to the vehicle. Referring, for example, to graph 350 of FIG. 3C, providing assistance (e.g., at points 397 and/or 398 in graph 375 of FIG. 3D) may shift the operation of an engine from a less efficient zone (e.g., zone 368) to a more efficient zone (e.g., zone 362).

In some embodiments, some assistance may be provided by the motor over the full range of engine operating conditions but the extent (e.g., amount) of the assistance may be varied based on the operating conditions. Once the appropriate range and/or levels of assistance have been determined, a motor assistance profile is generated reflecting the determined assistance that should be provided by the motor. The motor assistance profile may be stored in a memory associated with the motor and/or motor controller and may be utilized (e.g., by a motor control algorithm) to determine the operating conditions under which the motor should provide assistance and the level of assistance.

In some embodiments, greater assistance may be provided to the engine during operating conditions where a rapid increase in power is demanded (e.g., where the emissions data indicates temporarily high emissions or spikes in emissions), such as during acceleration. Inspection of graph 375 of FIG. 3D indicates spikes in emissions curve 380 where the vehicle accelerates (e.g., rapidly) from a lower speed to a higher speed (as reflected in speed curve 384). At these operating conditions, greater assistance may be provided from the motor to counteract the temporary increases in emissions reflected in emissions curve 380 (e.g., such that the temporary increases are smaller or have a smaller amplitude than without motor assistance), provide greater power, etc.

In some embodiments, the motor may be operated at a higher current (e.g., a peak current) or higher torque (e.g., a peak torque) than the continuous operating rating for the motor during such operating conditions for a short time or pulse (e.g., as discussed with respect to FIG. 3A). According to various embodiments, the duration and/or amplitude of the pulse may be dependent upon the engine load demand (e.g., acceleration) and/or emissions data. For example, if the emissions data indicates a greater or more prolonged spike in emissions, the pulse applied may be greater in amplitude or size and/or duration than for a smaller or shorter spike in emissions. In some embodiments, a pulse may be applied only if the rate of change of power demanded exceeds a certain level (e.g., if the acceleration exceeds a certain threshold). In other embodiments, a pulse may be applied whenever the vehicle is called upon to accelerate and/or the amplitude and/or duration of the pulse may be dependent upon the rate of change of power demand (e.g., acceleration).

In various embodiments, the motor controller may be configured to limit the duration and/or amplitude of a pulse to protect against damage to the motor. In some embodiments, the amplitude of the pulse may be limited so that the current and/or torque provided to the motor does not exceed a recommended peak current and/or torque for the motor (e.g., two to five times the continuous current rating of the motor). In other embodiments, the duration of the pulse (e.g., the amount of time the current and/or torque is greater than the continuous rating) may be limited by the temperature of the motor. For example, the motor controller may be configured to shorten the duration of a pulse or cut off a pulse if a motor temperature input indicates that the motor is approaching a temperature threshold (e.g., a temperature at which the motor may be damaged).

In further embodiments, the determination of the assistance to provide at various engine operating conditions may be based on the frequency with which a vehicle is expected to be driven within one or more ranges of operating conditions. For example, vehicles may be driven fairly infrequently at a low speed such as less than 20 km/h (e.g., because very few roads have a speed limit of lower than 20 km/h and drivers tend to accelerate the vehicle fairly quickly to a normal driving speed). It may be determined that little or no assistance may be provided at speeds within this low speed range. In another embodiment, it may be determined that little or no assistance is to be provided at operating conditions where the speed is within this low range and the RPM is within a high range (e.g., 2,500 RPM or higher), but greater assistance may be provided at operating conditions where the speed is within this low range and the RPM is within a low range (e.g., 1,000 RPM to 2,500 RPM).

Vehicles may be driven with relatively high frequency in a middle range of speeds (e.g., 20 km/h to 80 km/h), such as those speeds at which the vehicle is normally operated in second through fourth or fifth gears (e.g., in the lower range of fifth gear). For example, many roads may have posted speed limits within this middle range of speeds. In some embodiments, the motor may be configured to provide greater assistance to the engine in this middle range of speeds. In further embodiments, the motor may be configured to provide a higher level of assistance within this middle range of speeds under those operating conditions where the RPM is higher than under conditions where the RPM is lower (e.g., to provide a greater impact on the emissions of the engine and/or move the engine during those conditions into a more efficient zone of operation).

In still further embodiments, the determination of the assistance to provide may be based at least in part on the battery power available to the motor and/or a desire to conserve battery power so the charge of the battery is not depleted too quickly. In some embodiments, the determination of the assistance may balance efficiency of the engine and/or reduction of emissions with the time and/or distance a charge is available in the battery or batteries. For example, emissions may be very high for operating conditions where the speed is at a very high range (e.g., above 90 km/h), but little assistance may be provided at such conditions because providing assistance may drain the battery quickly. In some embodiments, assistance may be gradually removed as the speed increases within the higher range of speeds.

In some embodiments, the motor assistance may be defined such that the motor provides additional torque to allow the vehicle to be operated at a low RPM as speeds decrease (e.g., allows the vehicle to decrease speed without shifting to a lower gear). Under normal operation (e.g., without assistance from the motor), the engine may not be able to operate at a low speed (e.g., 10 km/h) while in a higher gear (e.g., fourth gear). Motor assistance may be provided as the vehicle speed is decreased to allow the user to remain in the same gear (e.g., such that the user does not need to downshift to avoid stalling the engine). This may allow the engine to operate (e.g., consistently) at a lower RPM at lower speeds rather than proceed through one or more additional gears where the engine may operate at a higher RPM.

Once the motor assistance profile has been created, the motor assistance profile may be implemented in the hybrid system (e.g., in connection with the motor controller) and emissions data for the engine with assistance from the motor over a range of operating conditions (e.g., speed and RPM) may be determined (step 315). In some embodiments, the test (e.g., range of operating parameters, test equipment, etc.) used to determine the emissions in step 315 may be substantially similar to the test utilized to determine emissions in 312 for consistency.

The emissions data determined in step 315 may be inspected and/or analyzed to determine whether further changes to the motor assistance profile are desired (step 320). Further changes may be implemented if a greater reduction in emissions than reflected in the emissions data determined in step 315 for one or more ranges of operating conditions is desired. Changes may also be desired if the emissions data determined in step 315 reflects a greater reduction in emissions for one or more ranges of operating conditions than desired and a reduction in motor assistance may be implemented to converse battery power. If further changes to the motor assistance profile are desired, the motor assistance profile may be adjusted to implement the desired changes (step 325) and process 310 may proceed to step 315 and re-determine emissions data for the engine with assistance provided by the motor as defined in the adjusted motor assistance profile. If further changes to the motor assistance profile are not desired, the hybrid system (e.g., motor and/or motor controller) is tuned and/or configured based on the motor assistance profile (step 330).

Various steps of the exemplary embodiment shown in FIG. 3B are described as being performed based on emissions data. In other exemplary embodiments, however, similar steps (e.g., analyzing data and creating a motor assistance profile) may be based on other types of data or vehicle information. For example, in one embodiment, a motor assistance profile may be created and/or assistance may be varied based on engine load data (e.g., such that greater assistance may be provided at operating conditions for which there is a higher load on the engine and lesser assistance may be provided at operating conditions for which there is a lower load on the engine). In another embodiment, a motor assistance profile may be created and/or assistance may be varied based on a gear position (e.g., first gear, second gear, third gear, etc., such that greater assistance is provided in some gears than in others). In still further embodiments, a motor assistance profile may be created and/or assistance may be varied based on acceleration data and/or an accelerator (e.g., gas pedal) position.

Referring now to FIG. 4A, a flow diagram for a process 400 for determining the assistance provided to an engine by a motor based on a predicted driving range is shown according to an exemplary embodiment. A limited amount of power may be available from energy storage devices (e.g., batteries and/or capacitors) with which to drive the motor to provide assistance to the engine. For example, a plug-in hybrid may only be capable of traveling a limited distance between charge cycles in a hybrid mode (e.g., with motor assistance). The distance may be dependent upon the amount of assistance being provided by the motor. Although the hybrid system may be configured to regenerate power to the energy storage devices under certain conditions (e.g., coasting downhill, braking, etc.), the conditions under which power is regenerated may be restricted such that the vehicle may still only be able to travel a limited distance before the available charge is depleted and the motor is no longer able to provide assistance to the engine.

Assistance may be provided based on a motor assistance profile (e.g., created according to a process such as process 300 described above) optimized to provide assistance over a particular approximate distance. However, a driver of the vehicle may wish to operate the vehicle over different distances at different times. Using process 400, a driving range (e.g., driving distance) may be predicted based on historical driving data and a motor assistance profile may be selected based on the predicted driving range and used to control the assistance provided by the motor. For example, a long driving range may be predicted based on historical information, and the motor assistance profile may be selected and/or customized to the long driving range such that the motor may provide assistance over most or all of the driving range so that all available energy would not be depleted early in the trip. A short driving range may be predicted, and the motor assistance profile may be selected and/or customized to the short driving range such that most or all of the available energy may be utilized and the motor may provide greater assistance over the driving range. Process 400 may help improve the efficiency of the hybrid system under varying driving ranges and improve the versatility of the hybrid system. Further, process 400 may allow the assistance provided by the motor to be intelligently configured without requiring input from a user of the vehicle.

Under various embodiments, one or more steps of process 400 may be executed manually (e.g., by a human being) and/or may be implemented in a computer (e.g., via instructions that are stored within one or more computer-readable media (e.g., a memory) and are executable by one or more processors. For example, various steps of process 400 may be executed by a motor controller such as motor controller 204, described with respect to the exemplary embodiment of FIG. 2A, and/or motor controller 254, described with respect to the exemplary embodiment of FIG. 2B.

At step 401, process 400 (e.g., executed by a motor controller, such as motor controller 204 and/or 254) determines the amount of energy available to drive the motor and assist the engine. The motor controller may be configured to utilize one or more inputs (e.g. hybrid system inputs), such as a state of charge input for the energy storage device(s), to determine the available energy. In some embodiments, the available energy may not be equivalent to the total energy stored in the energy storage device(s). The hybrid system may be configured to disallow the energy storage device(s) from exceeding a certain maximum depth of discharge (“DOD”) (e.g., 50% DOD, 60% DOD, 70% DOD, etc.), for example, to avoid damaging the energy storage device(s). The maximum depth of discharge may be determined based on characteristics of the energy storage device(s), motor, engine, vehicle, and/or other factors. The available charge may be determined based on the difference between a starting DOD and the maximum DOD. For example, if the maximum DOD for a battery is determined to be 60 percent of the total capacity of the battery, and the starting DOD at the beginning of the driving cycle is 10 percent, then the charge available for providing motor assistance over the course of the driving cycle may be determined to be 50 percent of the total capacity of the battery. In some embodiments, the determination of the maximum DOD and/or the available energy may be based on factors such as the battery temperature, battery age, motor size, and/or other factors.

Depth of discharge is a measure of how much of the storage capacity of an energy storage device has been depleted. In some embodiments, the available energy for providing assistance may be determined based on a state of charge (“SOC”) of the energy storage device(s). The SOC of an energy storage device is inversely related to its DOD. The available energy may be determined based on the difference between a starting SOC and a determined minimum SOC for the energy storage device(s). For example, if the minimum SOC is 40 percent of the total capacity of a battery, and the starting SOC is 90 percent, then the charge available for providing motor assistance may be determined to be 50 percent of the capacity of the battery.

At step 402, a motor controller (e.g., motor controller 204 and/or 254) is configured to predict a driving range for use in establishing the assistance that should be provided to the engine by the motor. In some embodiments, the motor controller may be configured to predict the driving range at the beginning of a driving cycle (e.g., once the vehicle has been turned on after the energy storage device has been charged). In other embodiments, the motor controller may be configured to modify the driving range prediction during the drive cycle (e.g., upon determination that the actual driving range is going to exceed the predicted driving range). In one embodiment, the driving range may be predicted based on historical driving range data, or data relating to the distance driven during previous driving cycles (e.g., between previous adjacent charge cycles) or on previous days (e.g., in an automatic range determination mode). The historical driving range data may be accumulated over time (e.g., over a number of days and/or a number of driving cycles) and may be stored in a memory that is accessible by the motor controller. The historical driving range data may be based on various inputs, such as distance data (e.g., from an odometer), time data (e.g., from a clock circuit of the motor controller), battery charge data (e.g., from a battery charger), etc. In one embodiment, the motor controller may be configured to store a record of the distance driven each day for a number of previous days (e.g., 90 days) in the memory. In another embodiment, the motor controller may be configured to store a record of the distance driven during each of a number of driving cycles (e.g., between adjacent charges) in the memory.

The historical driving data stored in the memory may be processed to predict the driving range to be used in determining the motor assistance. In some embodiments, the predicted driving range may be calculated based on the average, standard deviation, etc. of recent historical driving range data. For example, the motor controller may calculate the predicted driving range to be the average of the historical driving ranges for the previous twenty days. In other embodiments, the driving range may be predicted based on a present date or day of the week. For example, to predict the driving range for a Tuesday, the motor controller may be configured to consider (e.g., average together) the driving ranges for a number of previous weekdays (e.g., work days). To predict the driving range for a Saturday, the motor controller may be configured to consider the historical driving ranges for a number of previous weekend (e.g., non-work) days. In some instances, a user may participate in a recurring event that occurs on a particular day of the week, day of the month, date, etc. In some embodiments, the driving range may be predicted for a day on which a recurrent event occurs by considering a number of previous days on which the recurring event occurred. For example, if a user has a recurring event on a Wednesday, the motor controller may be configured to predict the driving range based on historical driving ranges for recent Wednesdays. If the user has a recurring event on the second Thursday of every month, the motor controller may be configured to predict the driving range by considering historical driving range data for the second Wednesday of each of the previous six months. In various embodiments, the driving range may be predicted based on various other considerations. The construction of historical driving range data and prediction of a driving range are discussed in greater detail herein with respect to FIGS. 5A through 5E according to various exemplary embodiments.

In some embodiments, the driving range may be predicted based on analysis of one or more trends in the historical driving range data. The motor controller may be configured to analyze the historical driving range data for previous driving cycles (e.g., days) and identify any similarities between historical ranges for two or more of the driving cycles. The motor controller may be configured to review the historical driving range data for a particular previous time period or particular number of previous driving cycles and identify any historical ranges that fall within a certain tolerance of one another. The motor controller may be configured to compare the dates, days of the week, trends in number of driving cycles, etc. for those historical ranges that fall within the tolerance and determine whether there is a correlation or trend as to when the similar historical ranges occurred. If there is a trend, the motor controller may recognize the trend and predict the driving range for days that fall within the trend based on the historical ranges that fall within the tolerance.

In various embodiments, the motor controller may be configured to recognize different trends. For example, a user may drive within a relatively fixed driving range on Monday through Thursday each week (e.g., to travel to a work location). The motor controller may identify that the driving ranges for most days between Monday and Thursday within a certain time period (e.g., 30 days) fall within similar range of values (e.g., within a certain tolerance of a common value, such as within seven km of 50 km, or between 43 km and 57 km). The motor controller may then determine that the driving range for a day between Monday and Thursday is likely to fall within a similar driving range and may predict the driving range to fall within the similar range of values. For example, the motor controller may calculate the predicted driving range to be the average of the ranges for a number of previous days that fell on Monday through Thursday and were within the tolerance of the common value. In another embodiment, the motor controller may be configured to recognize a trend relating to a historical driving range that is recurring (e.g., weekly, monthly, etc.). Such a trend may correspond to a recurring event such as a weekly meeting. For example, a user may have a meeting at a remote location that occurs every other Tuesday and adds about 20 km to the user's typical driving range. The motor controller may be configured to identify that the user travels approximately 20 km longer every other Tuesday than on other weekdays, workdays, Tuesdays, etc. The motor controller may be configured to predict the driving range for a Tuesday on which the user has the meeting based on historical driving range data for previous Tuesdays on which the user had the meeting (e.g., as identified by the motor controller based on the recurring driving range trend).

At step 403, a motor assistance profile is determined based on the available energy determined at step 401 and/or the driving range predicted at step 402. In one embodiment, a plurality of motor assistance profiles, each associated with a different available energy level and/or predicted driving range, are stored in a memory (e.g., of the motor controller) and an appropriate motor assistance profile is selected from among the stored profiles. Each of the plurality of motor assistance profiles may be based on and/or optimized for a particular available energy level and/or predicted driving range. Motor assistance profiles associated with a larger amount of available energy and/or shorter driving range may provide a greater level of assistance over the range of operating conditions than motor assistance profiles associated with a smaller amount of available energy and/or longer range. As the charge available to power the motor decreases and/or the range associated with the motor assistance profiles increases, assistance may be selectively reduced to prolong the available charge of the battery in such a manner that assistance is reduced in circumstances and/or for operating conditions that result in a lower reduction in benefit (e.g., emissions, fuel economy, etc.).

In some embodiments, each motor assistance profile may be based on one available energy level and one predicted driving range. For example, one motor assistance profile may be associated with an available energy level of 60 percent of the capacity of the energy storage device and a predicted driving range of 50 km. Another motor assistance profile may be associated with an available energy level of 40 percent of the capacity of the energy storage device and a predicted driving range of 80 km. For each available energy level there may be several profiles, each relating to a different predicted driving range. For each predicted driving range there may be several profiles, each relating to a different available energy level. In various other embodiments, each motor assistance profile may be based on one or both of an available energy level and/or predicted driving range and may be modified based on factors upon which the profile is not explicitly based. For example, in one embodiment, a motor assistance profile may be based on a predicted driving range of 60 km and the assumption that the energy storage device is fully charged. If the energy storage device is not fully charged, the motor assistance profile may be modified (e.g., by decreasing or eliminating assistance at certain operating conditions).

The motor assistance profiles for each available energy level and/or predicted driving range may be created and/or customized based on similar methods and/or considerations discussed with reference to the exemplary embodiment shown in FIG. 3A. In some embodiments, motor assistance profiles for higher predicted driving ranges and/or lower available energy levels may be generated by reducing the assistance provided at one or more operating conditions as compared to motor assistance profiles having lower predicted driving ranges and/or higher available energy levels. For example, the level of assistance provided at one or more operating conditions where the assistance may have a lower beneficial impact (e.g., on emissions and/or fuel economy) may be reduced. Further, motor assistance profiles for lower predicted driving ranges and/or higher available energy levels may be generated by increasing the assistance provided at one or more operating conditions as compared to motor assistance profiles associated with higher predicted driving ranges and/or lower available energy levels. For example, the level of assistance provided at one or more operating conditions where the assistance may have a higher beneficial impact may be increased.

In other embodiments, assistance may be provided at different operating conditions for different motor assistance profiles. For example, in some embodiments, motor assistance profiles for higher predicted driving ranges and/or lower available energy levels may be generated by eliminating assistance at one or more operating conditions as compared to motor assistance profiles having lower predicted driving ranges and/or higher available energy levels. For example, assistance may not be provided for one or more operating conditions where the assistance may have a lower beneficial impact (e.g., on emissions and/or fuel economy). Further, motor assistance profiles for lower predicted driving ranges and/or higher available energy levels may be generated by providing assistance at one or more operating conditions at which assistance is not provided according to motor assistance profiles having higher predicted driving ranges and/or lower available energy levels. For example, assistance may be added for one or more operating conditions where the assistance may have a higher beneficial impact.

Referring now to FIG. 4B, a motor assistance table 410 illustrating the average assistance that may be provided at different available energy levels and predicted driving ranges for an exemplary set of motor assistance profiles is shown according to one exemplary embodiment. Table 410 includes four columns representing different predicted driving ranges (e.g., 40 km, 60 km, 80 km, and 100 km) and four rows representing different available energy levels (e.g., represented as percentages of the total capacity of the energy storage device(s)). The values presented in the various cells of table 410 represent the average assistance provided over the driving cycle (e.g., the time in between charge cycles) for different predicted driving ranges and available energy levels. In table 410, a predicted driving range of 60 km and an available charge of 70 percent (e.g., representing a full charge) represent a base condition and the average assistance for other conditions is provided with reference to this base condition. For example, if the available energy is determined to be 70 percent and the predicted driving range is 40 km, the average assistance provided over the driving cycle may be 120 percent, or 20 percent greater, than the average assistance provided for a predicted driving range of 60 km. If the available energy is determined to be 55 percent and the predicted driving range is 60 km, the average assistance provided may be 80 percent, or 20 percent lower, than the average assistance provided for an available energy level of 70 percent. Various other conditions may result in different average assistance levels as illustrated in table 410. Table 410 is presented to illustrate that the assistance provided by the motor may be varied based on the available energy level and/or the predicted driving range and is only one example of how the assistance may vary under differing conditions. It should be appreciated that various exemplary embodiments may vary the operating conditions at which assistance is provided and/or the extent of assistance in various different ways. Further, it should be appreciated that the gradations between available energy levels, predicted driving ranges, and/or assistance levels may differ in various exemplary embodiments. All such variations are intended to be within the scope of the present disclosure.

Referring now to FIGS. 4C through 4F, graphical representations of the assistance provided according to several motor assistance profiles, each associated with a different predicted driving range, are shown according to an exemplary embodiment. Referring specifically to FIG. 4C, a graph 420 corresponding to a motor assistance profile for a shortest predicted driving range (e.g., 40 km) is provided according to an exemplary embodiment. Graph 420 includes a rotational speed axis 424 (e.g., represented as percentage points between a minimum RPM and a maximum RPM) and a motor drive current axis 422 (e.g., represented as percentage points between a minimum drive current and a maximum drive current). In some embodiments, axis 422 may represent an output torque of the motor (e.g., when output torque is proportional to drive current). Graph 420 also includes several curves 426, 428, 430, 432, and 434 representing the assistance provided at different RPM levels in a first, second, third, fourth, and fifth gear, respectively.

Referring now to FIGS. 4D through 4F, graphs 440, 460, and 480 are shown, respectively, according to exemplary embodiments. Graphs 440, 460, and 480 correspond to motor assistance profiles for increasingly long predicted driving ranges (e.g., 60 km, 80 km, and 100 km, respectively). Comparison of graphs 420, 440, 460, and 480 illustrates how assistance may be selectively altered based on the predicted driving range in various exemplary embodiments. For example, in graph 440, less assistance may be provided in first gear than in graph 420 (e.g., comparing first gear curve 426 for a 40 km range with first gear curve 446 for a 60 km range). The assistance provided in a middle range of gears (e.g., second, third, and/or fourth gears) may be held relatively constant between 40 km and 60 km ranges (e.g., comparing curves 428, 430, and/or 432 for a 40 km range with curves 448, 450, and/or 452 for a 60 km range). Referring to FIGS. 4E and 4F, motor assistance profiles may be designed to selectively reduce assistance at certain operating conditions (e.g., first and/or fifth gears) for larger predicted driving ranges before reducing assistance at other operating conditions (e.g., second, third, and/or fourth gears).

FIGS. 4C through 4F illustrate assistance levels with respect to gear positions, but it should be appreciated that the assistance provided by the motor may be based on various operating conditions (e.g., linear speed, rotational speed, etc.) and may not necessarily be based on gear positions. Graphs 420, 440, 460, and 480 are presented to illustrate how the assistance provided by the motor may be varied based on the predicted driving range and are only examples of how the assistance may vary under differing conditions. It should be appreciated that various exemplary embodiments may vary the operating conditions at which assistance is provided and/or the extent of assistance in various different ways, and all such variations are intended to be within the scope of the present disclosure.

Referring again to FIG. 4A, at step 404, the motor controller is configured to generate control signals to control the operation of the motor based on the motor assistance profile determined at step 403. The generated control signals may be provided to the motor and define how the motor will provide assistance to the engine under varying operating conditions.

Referring generally to FIGS. 5A through 5E, several processes related to collecting historical driving range data and predicting a driving range for use in determining the assistance to be provided by a motor (e.g., in an automatic range determination mode) are shown according to various exemplary embodiments. FIG. 5A illustrates a process 500 that may be used to collect the historical driving range data upon which the predicted driving range is based. FIG. 5B illustrates a process 550 that may be used to predict the driving range based on historical driving range data (e.g., collected using a process similar to process 500). FIGS. 5C through 5E illustrate several processes for predicting a driving range under different options and/or circumstances according to various exemplary embodiments.

Referring specifically to FIG. 5A, a process 500 for collecting and/or storing historical driving range data for use in predicting a driving range is shown according to an exemplary embodiment. At step 505, various inputs may be received (e.g., by the motor controller) from vehicle sensors, energy storage devices, one or more memories associated with the hybrid system, and/or other sources for use in generating historical driving range data. For example, the motor controller may receive distance information from the odometer of the vehicle. The motor controller may receive time, date, day of week, and/or other temporal information from a vehicle computer or other source. In some embodiments, the motor controller may include an internal clock configured to provide such information. The motor controller may receive data relating to the state of charge of the energy storage device(s) (e.g., from a charging device or battery monitoring device). In various embodiments, the motor controller may receive various other types of data, such as battery parameters and/or conditions (e.g., maximum depth of discharge, temperature, etc.), motor parameters and/or conditions (e.g., torque, speed, temperature, etc.), vehicle parameters and/or conditions (e.g., vehicle speed, engine load, engine torque, engine temperature, etc.), and/or other types of data.

In some embodiments, a user input device may allow for multiple user profiles for a vehicle to be created and selected. For example, the same vehicle may be used by two users, one whose typical daily commute is 70 km and the other whose typical daily commute is 15 km. If the same driving range is used with each user, the determined driving range may be substantially shorter than 70 km and substantially longer than 15 km. Use of different user profiles may allow the motor controller to more accurately predict the expected driving range.

At step 510, one or more of the inputs are processed to determine historical driving range data at various times and/or under various operating conditions (e.g., states of charge). Processing the inputs may include correlating historical distance data with time data to determine the total distance (e.g., mileage) traveled by the vehicle at different points in time. In some embodiments, distance data and/or time data may be correlated with state of charge data to determine a relationship between the state of charge, time and/or distance over time. In further embodiments, other inputs may be correlated with the time data, distance data and/or state of charge data as well. In embodiments in which multiple user profiles are supported, time data, distance data, state of charge data, and/or other data may be correlated with one or more of the user profiles.

In some embodiments, processing the inputs may further include determining historical driving ranges for one or more time intervals and/or charge intervals (e.g., driving cycles). For example, distance data and time data may be used to determine the distance traveled (e.g., driving range) on one or more days (e.g., by subtracting the odometer reading associated with a first time on a day from the odometer reading associated with a last time on the day). In another embodiment, historical distance data and state of charge information may be used to determine the driving range for one or more driving cycles. For example, for a particular driving cycle, the odometer readings between two adjacent full charge levels may be compared to determine the distance traveled during that driving cycle. In embodiments in which multiple user profiles are supported, the historical driving range data may be associated with one or more of the user profiles (e.g., stored in separate historical driving range data sets or databases within a memory).

At step 515, historical driving range data is stored in a memory (e.g., in a lookup table in a memory associated with the motor controller). In some embodiments, the historical driving range data stored in the memory may include instantaneous data points relating to the received inputs (e.g., odometer data and/or state of charge data at one or more instants in time). In other embodiments, the historical driving range data that is stored may be further processed such that the stored data reflects driving ranges associated with one or more time periods (e.g., days, weeks, etc.) and/or one or more driving cycles. In various embodiments, the motor controller may access this historical driving range data to determine the assistance that should be provided to the engine by the motor.

Referring now to FIG. 5B, a process 550 for predicting a driving range based on historical driving range data (e.g., historical driving range data generated according to a process similar to process 500) is shown according to an exemplary embodiment. At step 555, various options defining how the driving range should be determined may be set. The options may include, for example, the number of previous days and/or charge cycles that should be considered when determining the driving range. In other embodiments, the options may include a range of dates, type of day (e.g., weekday or weekend), and/or one or more days of the week that should be considered. For example, a user may typically drive a particular distance during weekdays when the primary route traveled may be a relatively fixed route to a work location. The user may drive a different distance during weekend days (e.g., if the user does not work on the weekend), and the distance may vary more widely than on weekdays. In other embodiments, the parameters may be configured based on other date and/or time information, such as a work schedule that may be input by a user who does not work only during weekdays or an event (e.g., recurring event) that occurs on a particular day of the week.

In various embodiments, the options may be set and/or changed in different ways. In some embodiments, the motor controller may utilize a fixed set of options (e.g., default options) and may always predict the driving range based on the fixed options. In other embodiments, the motor controller may adjust the default embodiments based on calculations or observations. For example, if the motor controller calculates the average historical driving range for the past ten days and determines that the average historical driving range differs significantly from the average for the fifty days before that (e.g., if the vehicle was driven on a vacation), the motor controller may activate an option to disregard the past ten days in predicting the driving range. In some embodiments, the motor controller may determine one or more options based on trends identified in the historical driving range data. In other embodiments, a user of the vehicle may be allowed to set one or more options (e.g., via a user input device). For example, a user may define a recurring event that happens on a particular day each week, and the motor controller may be configured to consider the recurring event in predicting the driving range.

At step 560, historical driving range data is retrieved from a memory. The historical driving range data may be retrieved based on the options set at step 555. For example, if the parameters indicate that the driving range being predicted should be based on historical data for the previous two weeks, the motor controller may be configured to retrieve historical driving range data for the previous two weeks from the memory for processing. In another example, if the parameters indicated that the driving range being predicted should be based on historical data for a Monday, the motor controller may be configured to retrieve historical driving range data for recent weekdays or recent Mondays.

At step 565, the historical driving range data is processed and the driving range to be used in configuring the assistance provided by the motor is predicted. The historical driving range data may be processed based on the parameters set at step 555. For example, if the parameters indicate that the driving range being determined should be based on historical data for the previous two weeks, the motor controller may be configured to determine the driving range based on the historical data for the previous two weeks. The motor controller may determine the driving range based on the average of the driving ranges, the standard deviation of the driving ranges, or based on a different function or analysis of the historical driving range data.

In various embodiments, the motor controller may process the historical driving range data differently based on some factors, such as the day of the week, type of day (e.g., weekday or weekend), etc. For example, in some embodiments, the motor controller may be configured to predict the driving range for a weekday by processing historical data only for other weekdays. This may result in a more accurate prediction of the driving range if the user follows a relatively regular driving routine (e.g., going to work) during weekdays. Further, the motor controller may be configured to predict the driving range for a weekend day by processing historical data only for other weekend days. In other embodiments, the motor controller may be configured to predict the driving range for a work day (e.g., as indicated via user input to a user input device) by processing historical data only for other workdays and predict the driving range for non-work days by processing historical data only for other non-work days. In still further embodiments, a user may indicate (e.g., via a user input device) the presence of one or more recurring events on a particular date of a month or day of a week. For example, a user may participate in a sporting league or have a regular weekly or monthly meeting on a particular day. In such embodiments, the motor controller may be configured to predict the driving range for a day on which the event occurs by processing historical data only for other days on which the event occurred. In various other exemplary embodiments, the motor controller may be configured to predict the driving range based on various other factors and/or considerations (e.g., user-defined parameters). In still further embodiments, the motor controller may be configured to predict the driving range based on one or more trends (e.g., related to day of week, date of month, work schedule, recurring events, etc.) identified in the historical driving range data.

In some embodiments, where multiple user profiles are supported, the motor controller may be configured to process the historical user data and/or predict the driving range based on the current user of the vehicle (e.g., as provided by a user via a user input device). For example, a vehicle may be associated with two defined users having separate user profiles and/or separate historical driving range data. The first user profile may specify a different work schedule, different recurring activities, and/or other considerations that are different from those associated with the second user profile. The motor controller may be configured to process the historical data and predict a predicted driving range differently based on the active user profile. For example, the first user may have a recurring event every Tuesday, and the motor controller may be configured to predict the driving range for the first user on a Tuesday based on historical data for the previous five Tuesdays. The second user may not have the same recurring event on Tuesdays, and the motor controller may be configured to predict the driving range for the second user based on historical data for the previous ten normal weekdays (e.g., days on which there was no special and/or recurring event).

Referring now to FIG. 5C, a process 570 that may be used to predict a driving range based on historical driving data for a number of previous days is shown according to an exemplary embodiment. Process 570 may be used, for example, if a driving range is to be predicted solely on the average of historical driving ranges for a particular number of recent days (e.g., the past 30 days). At step 571, the motor controller is configured to retrieve historical driving range data for the past 30 days from memory. At step 572, the motor controller is configured to predict the driving range based on the historical driving range data for the past 30 days. The motor controller may be configured to calculate the predicted driving range to be the average of the distances driven over the past 30 days.

Referring now to FIG. 5D, a process 580 that may be used to predict a driving range based on historical driving data for a number of previous days of similar type (e.g., weekday or weekend day) is shown according to an exemplary embodiment. Process 580 may be used, for example, if a user drives a relatively fixed route during certain days of the week (e.g., to travel to a work location). In some embodiments, a work schedule may be identified as a trend by the motor controller (e.g., having driving ranges that fall within a certain tolerance of one another). At step 581, the motor controller determines a current day of the week (e.g., using a clock circuit or calendar module). At step 582, the motor controller retrieves historical driving range data for recent days having a similar type as the current day determined at step 581. For example, if the motor controller determines that the current day is a Tuesday, the motor controller may retrieve historical driving range data for previous weekdays. If the current day is a Sunday, the motor controller may retrieve historical driving range data for previous weekend days. At step 583, the motor controller is configured to predict the driving range based on the historical data. For example, if the current day is a Tuesday and the retrieved historical data is for ten previous weekdays, the motor controller may be configured to calculate the predicted driving range as being the average of the distances driven over the ten previous weekdays.

Referring now to FIG. 5E, a process 590 that may be used to predict a driving range based on the existence of a recurring event is shown according to an exemplary embodiment. Process 590 may be used, for example, if a user regularly drives to a recurring event (e.g., a weekly or monthly meeting). At step 591, the motor controller determines a current day of the week. At step 592, the motor controller determines whether an event is occurring on the current day. In one embodiment, the vehicle may provide the user with a user interface that may allow the user to specify days or dates on which events will occur, which may be stored in the memory. The motor controller may determine whether an event is occurring at step 591 by comparing the current day with the user-supplied data stored in memory. If an event is not occurring on the current day, the motor controller may be configured to retrieve historical driving range data from memory for recent days (e.g., for a set number of previous days, based on a type of day, etc.) (step 593). The motor controller is then configured to predict the driving range based on the historical driving range data retrieved at step 593.

If an event is occurring on the current day, the motor controller may be configured to retrieve historical driving range data for recent days on which the event occurred (step 594). For example, if a user has a recurring meeting each Tuesday, the motor controller may be configured to retrieve historical driving range data for the past seven Tuesdays. In another example, if a user has a recurring meeting on the fifteenth day of each month, the motor controller may be configured to retrieve historical driving range data for the fifteenth day of the past nine months. The motor controller is configured to predict the driving range based on the historical driving range data for days on which the event occurred that was retrieved at step 594.

Referring again to FIG. 4A, in some embodiments, the motor assistance profile may be chosen and/or modified based on trends in historical data stored in memory and related to previous operating conditions of the vehicle. In one embodiment, the assistance provided by the motor may be modified based on the frequency with which the engine is operated at one or more operating conditions. Data relating to various operating conditions (e.g., RPM, speed, gear position, etc.) during previous driving cycles, days, etc. may be collected (e.g., from sensors) and used to determine trends in the operating conditions at which the engine is most frequently operated. For example, the motor controller may determine from historical data that a user operates the vehicle most frequently in the second and third gears (e.g., for frequent city driving). In response, the motor controller may choose a motor assistance profile that provides more assistance in the RPM and speed ranges related to those gears. Alternatively, the motor controller may alter a chosen or default motor assistance profile by providing greater assistance in the RPM and speed ranges related to second and third gears. In other embodiments, the motor controller may determine that the engine is frequently operated within a certain speed range and/or RPM range and may be configured to provide greater motor assistance within that speed range and/or RPM range.

In various embodiments described herein, an appropriate motor assistance profile is chosen from a set of motor assistance profiles based on the available energy level and/or predicted driving range. In another embodiment, an available (e.g., default) motor assistance profile may be altered or adjusted based on the available energy level and/or predicted driving range (e.g., rather than selecting from among a plurality of motor assistance profiles). For example, a default motor assistance profile associated with a driving range of 60 km may be altered or optimized for a predicted driving range of 80 km. If the predicted driving range is shorter than the driving range associated with the default motor assistance profile (e.g., the default motor assistance profile is associated with a driving range of 60 km and the driving range is predicted to be 40 km), the default motor assistance profile may be altered to provide a greater level of assistance during some operating conditions and/or to provide assistance at some operating conditions at which assistance was not provided under the default motor assistance profile. If the available energy level determined at step 401 is higher than the energy level associated with the default motor assistance profile (e.g., the determined available energy level is 70 percent and the default motor assistance profile is associated with an available energy level of 50 percent), the default motor assistance profile may be altered to provide a greater level of assistance during some operating conditions and/or to provide assistance at some operating conditions at which assistance was not provided under the default motor assistance profile. The alteration may be based on methods such as those described with respect to FIG. 3A, such as an RPM of the engine, speed of the vehicle, gear position, acceleration, etc.

If the predicted driving range is longer than the driving range associated with the default motor assistance profile (e.g., the default motor assistance profile is associated with a driving range of 60 km and the driving range is predicted to be 90 km), the motor assistance profile may be altered to provide a smaller level of assistance during some operating conditions and/or eliminate assistance at some conditions at which assistance is provided under the default motor assistance profile to conserve charge. If the available energy level determined at step 401 is lower than the energy level associated with the default motor assistance profile (e.g., the determined available energy level is 40 percent and the default motor assistance profile is associated with an available energy level of 50 percent), the motor assistance profile may be altered to provide a smaller level of assistance during some operating conditions and/or eliminate assistance at some conditions at which assistance is provided under the default motor assistance profile. For example, assistance may be reduced or eliminated at mid-high RPM, lower (e.g., first) and upper (e.g., fifth) gears, etc.

In some embodiments, a user may be allowed to override the prediction of the determined distance and instead manually provide a distance (e.g., in a manual range determination mode). The user may provide input via an input device such as one or more knobs and/or buttons and/or a touchscreen. The input device may be located within the vehicle and/or on or near a dashboard of the vehicle. In one embodiment, the user may input an expected driving range or distance. The input driving range may represent a range or distance the user expects to travel during the day and/or between charging cycles of the energy storage device(s). In one embodiment, a display may present the user with a plurality of range options (e.g., less than 20 kilometers (“km”), 20 km, 40 km, 60 km, 80 km, 100 km, greater than 100 km, etc.) from which the user may select a range. In another embodiment, the user may specify a range (e.g., type a number into a keypad or touchscreen representing the driving range).

In still further embodiments, the user may select one or more available modes to customize the assistance provided by the motor at various operating conditions. For example, the user may select an economy mode in which assistance is provided in a manner that increases fuel economy and efficiency. In another exemplary embodiment, the user may select a power mode in which assistance is provided in a manner that provides extra power (e.g., for acceleration). In other embodiments, the modes may be selected automatically based on inputs from sensors associated with the vehicle and/or hybrid system.

In some embodiments, the motor controller may be configured to monitor (e.g., continuously, periodically, etc.) the charge level (e.g., current charge level, DOD, SOC, etc.) of the energy storage device to ensure the charge level does not exceed the maximum DOD (or, alternatively, fall below the minimum SOC). The charge level may be monitored, for example, using an input from the energy storage device, a charging device for the energy storage device, a monitoring device for the energy storage device, etc. In various embodiments, if the motor controller determines that the charge level (e.g., current DOD) is near, at, or above the maximum DOD, the motor controller may cut off power to the motor (e.g., turn off motor assistance to the engine).

In some embodiments, the hybrid system may regenerate energy into the energy storage device(s) while the motor assistance is cut off (e.g., during braking, coasting down a slope, etc.). Regeneration may result in an increase in available energy and a rise in the SOC, or reduction in the DOD, of the energy storage device(s). In some embodiments, the motor controller may be configured to reactivate motor assistance once the DOD of the energy storage device(s) returns to a level below the maximum DOD. In other embodiments, the motor controller may be configured to reactivate motor assistance if the DOD reaches or exceeds a particular threshold (e.g., user-defined, hybrid system-defined, static, dynamic, based on characteristics of the battery and/or motor, etc.) below the maximum DOD of the energy storage device(s). For example, the DOD of a battery may be 60 percent of the battery's capacity and the threshold may be set at 20 percent below the maximum DOD, such that if the charge of the battery exceeded the maximum DOD of 60 percent and the motor assistance were cut off, the motor assistance would not be reactivated under the charge of the battery returned (e.g., through regeneration) to no greater than 40 percent DOD. In some embodiments, when the motor assistance is reactivated the assistance may be determined according to the same motor assistance profile utilized before the assistance was cut off.

In various other embodiments, the motor controller may be configured to select a different profile based on the monitored charge level. In some embodiments, the motor controller may be configured to choose a different profile if the charge level falls below a predetermined threshold (e.g., within 20 percent of the maximum DOD of the battery). A new profile may be chosen to direct the assistance of the motor that may be based on a lower available charge and/or a longer driving range than the motor assistance profile being used at the time the charge level fell below the threshold. For example, if the charge level fell below the threshold under a motor assistance profile associated with an available charge level of 60 percent and a driving range of 50 km, a new motor assistance profile may be selected that is associated with an available charge level of 20 percent and/or a driving range of 100 km. In other embodiments, the motor assistance profile that was active at the time the charge level fell below the threshold may be altered and/or the assistance may be reduced based on the low charge level. For example, the assistance provided to the motor at one or more operating conditions may be reduced and/or the assistance for one or more operating conditions may be eliminated.

In some embodiments, the available energy level and/or the assistance provided by the motor may be determined and/or modified based on an approximate amount of energy expected to be regenerated (e.g., during braking, coasting down a slope, etc.) by the hybrid system over the driving range. In some embodiments, the amount of energy that is expected to be regenerated may be determined based on an average (e.g., fixed) amount of energy regenerated over a certain distance (e.g., stored in a memory associated with the motor controller). For example, a vehicle utilizing the hybrid system may be known to regenerate 15 percent of the capacity of the batteries that power the motor for every 60 km driven. If the driving range for a driving cycle is 60 km, the amount of energy expected to be regenerated may be determined to be 15 percent of the capacity of the battery. If the driving range for a driving cycle is 40 km, the amount of energy expected to be regenerated may be determined to be 10 percent of the capacity of the battery.

The amount of energy that is expected to be regenerated may be determined based on historical regeneration data stored in a memory. For example, the motor controller may be configured to collect data relating to the amount of energy regenerated over driving cycles of different length and at different times (e.g., using battery charge data received, for example, from a battery charging device or battery monitoring device). In one embodiment, the motor controller may be configured to estimate the expected regenerated energy based on the energy regenerated during one or more previous driving cycles of a similar distance or driving range. For example, if a driving range of 50 km is selected, the motor controller may determine the expected regenerated energy to be the average of the regenerated energy values for a number of previous driving cycles having driving ranges near 50 km. In another embodiment, the motor controller may be configured to determine the expected regenerated energy based alternatively or additionally on regeneration data for one or more previous dates. For example, if the present driving cycle for which the expected regenerated energy is being determined is on a Wednesday, the expected regenerated energy may be determined based on regeneration data for a number of previous Wednesdays.

In some embodiments, the available energy level determined at step 401 may be increased by the amount of energy expected to be regenerated during the driving cycle. For example, if the determined available energy level is 50 percent of the capacity of a battery and the hybrid system is expected to regenerate enough energy to replenish ten percent of the battery charge, the available energy level may be set or increased to 60 percent.

In other embodiments, the assistance provided by the motor may be modified based on the energy expected to be regenerated during the driving cycle. In one embodiment, a different motor assistance profile may be chosen based on the expected regenerated energy. For example, if the available energy level determined at step 401 is 40 percent (without consideration of the expected regeneration), the driving range is 50 km, and the expected regenerated energy is 20 percent of the capacity of the battery, a motor assistance profile associated with an available energy level of 60 percent and a driving range of 50 km may be selected. In another embodiment, a selected or default motor assistance profile may be modified based on the expected regenerated energy. Greater assistance may be provided at one or more operating conditions and/or assistance may be provided at one or more operating conditions where assistance would not have been provided under the unmodified profile. In various embodiments, the assistance provided may be greater (e.g., on average) as the expected regenerated energy increases.

Referring now to FIG. 6, a graph 600 of emissions data resulting from an emissions test with assistance provided by a motor is shown according to an exemplary embodiment. The data shown in graph 600 may be obtained using a similar or same test as graph 375 of FIG. 3D (e.g., showing data for a vehicle without assistance from a motor). Graph 500 includes an emissions curve 605 representing emissions data that may be obtained for a vehicle including a hybrid system that provides selective assistance from a motor according to various exemplary embodiments described herein.

The effect of the difference between operating without assistance from a motor and operating with assistance is evident upon comparison of emissions curve 380 of graph 375 and emissions curve 605 of graph 600. Comparison of the two emissions curves clearly shows that the total emissions over the range of the emissions test are substantially lower in emissions curve 605, with selective assistance from a motor, than in emissions curve 380, with no motor assistance. Further, comparison of the two emissions curves shows that different levels of assistance are provided at different operating conditions. For example, greater assistance appears to be provided in a speed range from 25 percent to 67 percent, where the difference between emissions curves 380 and 605 is pronounced, than in a speed range of zero percent to 25 percent, where the difference between emissions curves 380 and 605 is less pronounced.

A vehicle that utilizes selective assistance from a motor, as described herein according to various exemplary embodiments, may achieve substantial reductions in emissions and/or increases in fuel economy. In one example, for a driving range of approximately 11 km, a vehicle utilizing a hybrid system that provides assistance to the engine may result in a reduction in carbon monoxide emissions of about 43 percent, a reduction in hydrocarbon emissions of about 16 percent, a reduction in nitrous oxide emissions of about 53 percent, a reduction in carbon dioxide emissions of about 35 percent, and/or an increase in fuel economy of about 55 percent as compared to a similar vehicle without motor assistance. In various other exemplary embodiments, benefits may be even more substantial depending on the assistance provided to the engine, the stored energy available to the system, the expected driving range, and/or other factors. In some embodiments, fuel economy may increase up to 130 percent or greater by utilizing assistance from a motor.

Referring now to FIGS. 7A, 7B, 8A, and 8B, graphical representations of emissions data resulting from another emissions test is shown according to various exemplary embodiments. The underlying emissions test in FIGS. 7A through 8B is different than the test underlying FIGS. 3D and 6. The underlying emissions test shown in FIGS. 7A through 8B is a driving test in which the vehicle is quickly accelerated from a stop to several different speeds and then returned to a stop after each speed is attained (as shown by speed curve 705). The vehicle is then accelerated to a higher speed (e.g., 70 percent of a highest speed in a speed range), slowed to a lower speed (e.g., 50 percent), returned to the higher speed (e.g., 70 percent), and then accelerated to an even higher speed (e.g., 90 percent) before the vehicle is brought to a stop.

FIG. 7A includes a graph 700 that illustrates carbon dioxide emissions data that may result from running the test on a vehicle without motor assistance (e.g., a non-hybrid vehicle). Carbon dioxide emissions curve 710 is a graphical illustration of the carbon dioxide emissions data that may be obtained under such a test. FIG. 7B includes a graph 720 that illustrates carbon dioxide emissions data that may result from running the test on a similar vehicle with motor assistance (e.g., in a hybrid mode). Carbon dioxide emissions curve 730 is a graphical illustration of the carbon dioxide emissions data that may be obtained under the test in a hybrid mode utilizing features as discussed herein. Comparison of emissions curves 710 and 730 demonstrates that carbon dioxide emissions may be selectively reduced at several different operating conditions by utilizing assistance from a motor.

FIG. 8A includes a graph 800 that illustrates carbon monoxide emissions data that may result from running the test on a non-hybrid vehicle. Carbon monoxide emissions curve 810 is a graphical illustration of the carbon monoxide emissions data that may be obtained under such a test. FIG. 8B includes a graph 820 that illustrates carbon monoxide emissions data that may result from running the test on a similar vehicle with motor assistance (e.g., in a hybrid mode). Carbon monoxide emissions curve 830 is a graphical illustration of the carbon monoxide emissions data that may be obtained under the test in a hybrid mode utilizing features as discussed herein. Comparison of emissions curves 810 and 830 demonstrates that carbon monoxide emissions may also be selectively reduced at several different operating conditions by utilizing assistance from a motor.

Referring now to FIGS. 9A through 9D, four graphs 900, 905, 910, and 915 are provided illustrating sample results that may be attained by utilizing various exemplary embodiments of a hybrid system as discussed herein with respect to FIGS. 1 through 4. The x-axes of graphs 900, 905, 910, and 915 represent rotational speed in percentage increments between a minimum RPM and a maximum RPM. The y-axes of graphs 900, 905, 910, and 915 represent the load on the engine (e.g., measured in manifold absolute pressure, or MAP) in percentage increments between a minimum load and a maximum load. Each of the dots displayed on graphs 900, 905, 910, and 915 represent data points collected at different points in time and/or different operating conditions during a driving simulation test.

Referring now specifically to FIGS. 9A and 9B, two graphs 900 and 905 illustrate exemplary data for a non-hybrid vehicle or a vehicle in which a hybrid mode is not activated. Graph 900 illustrates data for a non-hybrid vehicle being operated with the air conditioning system turned on, and graph 905 illustrates data for a non-hybrid vehicle being operated with the air conditioning system turned off Graphs 900 and 905 reflect data for an engine that is receiving no assistance from a motor. The data points shown in graphs 900 and 905 are concentrated largely at relatively high rotational speeds, indicating that the engine is frequently operating at a high RPM.

Referring now to FIGS. 9C and 9D, graphs 910 and 915 illustrate exemplary data for a vehicle (e.g., the same or a similar vehicle) in which a hybrid system such as that described with respect to FIGS. 1 through 5E is active and assistance is being provided to the engine by a motor. Graph 910 illustrates data for a hybrid vehicle being operated with the air conditioning turned on, and graph 915 illustrates data for a hybrid vehicle with optimum gear shifting (e.g., where the vehicle was shifted between gears at the most efficient times and/or operating conditions). The data points in graphs 910 and 915 are generally concentrated at lower rotational speeds than in graphs 900 and 905, indicating that the engine is more frequently operating in a lower RPM range than when the hybrid system is not activated (e.g., as shown in graphs 900 and 905).

The effect of the difference between operating without assistance from a motor and operating with assistance is evident upon comparison of FIGS. 9A through 9D with FIG. 3B. Referring to FIG. 3B, an engine is more frequently operating in a more efficient zone of operation when it is running at a lower RPM. Comparing each of FIGS. 9A through 9D with FIG. 3B (e.g., FIGS. 9A and 9C), it can be seen that a larger amount of data points are within more efficient zones of operation in FIGS. 9C and 9D (e.g., reflecting assistance provided by the motor) than in FIGS. 9A and 9B (e.g., reflecting no provided assistance).

The effect of the assistance is further evident upon comparison of the data in FIGS. 9E through 9H. FIGS. 9E through 9H illustrate histograms related to the data represented in FIGS. 9A through 9D, respectively, according to exemplary embodiments. FIGS. 9E through 9H include histograms 920, 925, 930, and 935, generated based on the distribution of data points shown in graphs 900, 905, 910, and 915, respectively. Histograms 920, 925, 930, and 935 provide another method for analyzing the frequency with which the engine is operating at different RPM ranges in the exemplary embodiments shown in FIGS. 9A through 9D. Comparison of histograms 920 and 925 with histograms 930 and 935 demonstrates that the engine may more frequently operate at a lower RPM when receiving assistance from a motor than when no assistance is received. As discussed with respect to FIG. 3C, an engine may operate in a more efficient zone of operation when it runs at a lower RPM.

The phrase “motor controller” as used in the above embodiments may mean a device that includes a processor that is used to control the motor. According to other exemplary embodiments, work carried out by the motor controller may be carried out in part or in whole either online or offline by another computer. For example, historical analysis may be performed using an offline computer, after which the relevant information could be downloaded to the motor controller.

As utilized herein, the terms “approximately,” “about,” “substantially,” and similar terms are intended to have a broad meaning in harmony with the common and accepted usage by those of ordinary skill in the art to which the subject matter of this disclosure pertains. It should be understood by those of skill in the art who review this disclosure that these terms are intended to allow a description of certain features described and claimed without restricting the scope of these features to the precise numerical ranges provided. Accordingly, these terms should be interpreted as indicating that insubstantial or inconsequential modifications or alterations of the subject matter described and are considered to be within the scope of the disclosure.

It should be noted that the term “exemplary” as used herein to describe various embodiments is intended to indicate that such embodiments are possible examples, representations, and/or illustrations of possible embodiments (and such term is not intended to connote that such embodiments are necessarily extraordinary or superlative examples).

It should be noted that the orientation of various elements may differ according to other exemplary embodiments, and that such variations are intended to be encompassed by the present disclosure.

It is important to note that the construction and arrangement of elements shown in the various exemplary embodiments is illustrative only. Other substitutions, modifications, changes and omissions may also be made in the design and arrangement of the various exemplary embodiments without departing from the scope of the present disclosure.

The present disclosure contemplates methods, systems and program products on any machine-readable media for accomplishing various operations. The embodiments of the present disclosure may be implemented using existing integrated circuits, computer processors, or by a special purpose computer processor for an appropriate system, incorporated for this or another purpose, or by a hardwired system. Embodiments within the scope of the present disclosure include program products comprising machine-readable media for carrying or having machine-executable instructions or data structures stored thereon. Such machine-readable media can be any available media that can be accessed by a general purpose or special purpose computer or other machine with a processor. By way of example, such machine-readable media can comprise RAM, ROM, EPROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code in the form of machine-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer or other machine with a processor. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a machine, the machine properly views the connection as a machine-readable medium. Thus, any such connection is properly termed a machine-readable medium. Combinations of the above are also included within the scope of machine-readable media. Machine-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing machines to perform a certain function or group of functions.

Although the figures may show a specific order of method steps, the order of the steps may differ from what is depicted. Also two or more steps may be performed concurrently or with partial concurrence. In various embodiments, more, less or different steps may be utilized with respect to a particular method without departing from the scope of the present disclosure. Such variation will depend on the software and hardware systems chosen and on designer choice. All such variations are within the scope of the disclosure. Likewise, software implementations could be accomplished with standard programming techniques with rule based logic and other logic to accomplish the various connection steps, processing steps, comparison steps and decision steps. 

What is claimed is:
 1. A method of providing assistance to an internal combustion engine for a vehicle using an electric motor coupled to the engine, the method comprising: predicting a driving range based on historical driving range data, wherein the historical driving range data includes one or more distances that the vehicle was driven during one or more previous driving cycles, and wherein predicting the driving range based on the historical driving range data comprises: identifying at least two historical driving ranges in the historical driving range data that fall within a predetermined distance range of one another; identifying a trend relating to when the historical driving ranges occurred; and predicting the driving range based on the at least two historical driving ranges that fall within the predetermined distance range of one another when a present day falls within the trend; selecting a motor assistance profile from among a plurality of motor assistance profiles based on the predicted driving range, wherein each of the plurality of motor assistance profiles comprises data used to determine assistance provided to the engine at predetermined operating conditions of the engine; and selectively operating the motor to provide assistance to the engine at predetermined operating conditions of the engine based on the data of the selected motor assistance profile, wherein the assistance provided to the engine at one or more of the predetermined operating conditions under the selected motor assistance profile is based at least in part on the predicted driving range; wherein each of the plurality of motor assistance profiles comprises a lookup table having stored therein a plurality of data elements, wherein each of the plurality of data elements is associated with a different combination of one or more linear speeds and one or more rotational speeds, and wherein the assistance provided to the engine at a particular linear speed and rotational speed is determined based at least in part on the data element of the selected motor assistance profile that is associated with the particular linear speed and rotational speed.
 2. The method of claim 1, wherein the driving range is predicted based on an average of historical driving range data for two or more previous driving cycles.
 3. The method of claim 1, wherein the assistance provided to the engine is determined based at least in part on a frequency with which the vehicle is operated at one or more operating conditions, wherein the frequency is determined based on historical data for the vehicle.
 4. The method of claim 1, wherein selecting the motor assistance profile from among the plurality of motor assistance profiles comprises selecting the motor assistance profile further based at least in part on an available energy level of an energy storage device configured to provide power to the electric motor, wherein the available energy level is based on the difference between a starting energy level and a minimum energy level, wherein the minimum energy level is higher than a lowest possible energy level for the energy storage device such that the available energy level is less than a total energy that may be stored in the energy storage device.
 5. The method of claim 4, wherein the assistance provided to the engine at one or more of the predetermined operating conditions is determined based at least in part on an amount of energy expected to be regenerated over the driving range, wherein the amount of energy expected to be regenerated is predicted based on an amount of energy regenerated during one or more previous driving cycles.
 6. The method of claim 4, further comprising: monitoring a present energy level of the energy storage device, wherein the assistance provided to the engine at one or more of the predetermined operating conditions is varied based on the present energy level.
 7. The method of claim 1, wherein selectively operating the motor comprises generating one or more control signals configured to control operation of the electric motor based on the selected motor assistance profile.
 8. The method of claim 1, further comprising determining acceleration data for the vehicle based on input received from one or more sensors, wherein the one or more control signals are configured to control the electric motor to provide at least one pulse of assistance at one or more times when the acceleration data indicates a demand for acceleration by operating the electric motor at a current above a continuous current rating of the electric motor.
 9. The method of claim 1, wherein the electric motor is coupled to a crankshaft of the engine, wherein the electric motor is coupled to the crankshaft at a first side of the engine and a transmission is coupled to the crankshaft at a second side of the engine opposite the first side.
 10. The method of claim 1, further comprising generating the plurality of motor assistance profiles based on emissions data associated with an engine type of the engine across a range of operating conditions.
 11. The method of claim 10, wherein the plurality of motor assistance profiles are a first set of a plurality of sets of motor assistance profiles, wherein each of the plurality of sets of motor assistance profiles is associated with a different one of a plurality of engine types and is generated based on emissions data associated with the corresponding engine type, and wherein the method further comprises selecting the first set of motor assistance profiles from among the plurality of sets of motor assistance profiles based on the engine type of the engine.
 12. The method of claim 11, wherein each of the plurality of engine types corresponds to an engine used in one of a plurality of vehicles into which the electric motor is configured to be installed.
 13. The method of claim 10, wherein the emissions data based upon which the plurality of motor assistance profiles are generated correlates emissions of the engine type to linear speeds and rotations speeds within the range of operating conditions.
 14. The method of claim 13, further comprising: determining one or more first zones within the range of operating conditions having a greater level of efficiency than one or more second zones; and generating the plurality of motor assistance profiles to shift operation of the engine towards the one or more first zones.
 15. The method of claim 1, wherein the predetermined operating conditions upon which the plurality of motor assistance profiles are based comprise one or both of a gear position of a transmission of the vehicle and an acceleration of the vehicle.
 16. The method of claim 1, wherein selecting a motor assistance profile from among a plurality of motor assistance profiles comprises selecting the motor assistance profile upon which the assistance is determined based on a selected mode of a plurality of modes, wherein the plurality of modes comprise an economy mode in which assistance is provided in a manner that increases fuel economy of the vehicle and a power mode in which assistance is provided in a manner that provides extra power for driving the vehicle.
 17. The method of claim 1, wherein selecting a motor assistance profile from among a plurality of motor assistance profiles comprises selecting the motor assistance profile upon which the assistance is determined based on the expected driving range, an available energy level of an energy storage device configured to provide power to the electric motor, and a selected mode of a plurality of modes, wherein the plurality of modes comprise an economy mode in which assistance is provided in a manner that increases fuel economy of the vehicle and a power mode in which assistance is provided in a manner that provides extra power for driving the vehicle.
 18. A motor controller comprising: one or more processors configured to execute instructions stored on one or more computer-readable media, wherein the instructions are executable by the one or more processors to implement a method comprising: predicting a driving range based on historical driving range data, wherein the historical driving range data includes one or more distances that a vehicle was driven during one or more previous driving cycles, and wherein predicting the driving range based on the historical driving range data comprises: identifying at least two historical driving ranges in the historical driving range data that fall within a predetermined distance range of one another; identifying a trend relating to when the historical driving ranges occurred; and predicting the driving range based on the at least two historical driving ranges that fall within the predetermined distance range of one another when a present day falls within the trend; selecting a motor assistance profile from among a plurality of motor assistance profiles based on the predicted driving range, wherein each of the plurality of motor assistance profiles comprises data used to determine assistance provided to the engine at predetermined operating conditions of the engine; and selectively operating the motor to provide assistance to the engine at predetermined operating conditions of the engine based on the data of the selected motor assistance profile, wherein the assistance provided to the engine at one or more of the predetermined operating conditions under the selected motor assistance profile is based at least in part on the predicted driving range; wherein each of the plurality of motor assistance profiles comprises a lookup table having stored therein a plurality of data elements, wherein each of the plurality of data elements is associated with a particular range of one or more operating conditions of the vehicle, and wherein the assistance provided to the engine at a particular set of operating conditions of the vehicle is determined based at least in part on the data element of the selected motor assistance profile that is associated with the particular set of operating conditions.
 19. The motor controller of claim 18, wherein the driving range is predicted based on an average of historical driving range data for two or more previous driving cycles.
 20. The motor controller of claim 18, wherein the assistance provided to the engine is determined based at least in part on a frequency with which the vehicle is operated at one or more operating conditions, wherein the frequency is determined based on historical data for the vehicle.
 21. The motor controller of claim 18, wherein selecting the motor assistance profile from among the plurality of motor assistance profiles comprises selecting the motor assistance profile further based at least in part on an available energy level of an energy storage device configured to provide power to the electric motor, wherein the available energy level is based on the difference between a starting energy level and a minimum energy level, wherein the minimum energy level is higher than a lowest possible energy level for the energy storage device such that the available energy level is less than a total energy that may be stored in the energy storage device.
 22. The motor controller of claim 21, wherein the assistance provided to the engine at one or more of the predetermined operating conditions is determined based at least in part on an amount of energy expected to be regenerated over the driving range, wherein the amount of energy expected to be regenerated is predicted based on an amount of energy regenerated during one or more previous driving cycles.
 23. The motor controller of claim 21, wherein the instructions are executable to further cause the one or more processors to monitor a present energy level of the energy storage device, wherein the assistance provided to the engine at one or more of the predetermined operating conditions is varied based on the present energy level.
 24. The motor controller of claim 18, wherein selectively operating the motor comprises generating one or more control signals configured to control operation of the electric motor based on the selected motor assistance profile.
 25. The motor controller of claim 24, wherein the instructions are executable to further cause the one or more processors to determine acceleration data for the vehicle based on input received from one or more sensors, wherein the one or more control signals are configured to control the electric motor to provide at least one pulse of assistance at one or more times when the acceleration data indicates a demand for acceleration by operating the electric motor at a current above a continuous current rating of the electric motor.
 26. The motor controller of claim 18, wherein the electric motor is coupled to the crankshaft at a first side of the engine and a transmission is coupled to the crankshaft at a second side of the engine opposite the first side.
 27. A hybrid drive system for a vehicle comprising: an electric motor configured to provide assistance to an internal combustion engine to provide motive power for the vehicle; and a controller configured to control operation of the electric motor, wherein the controller comprises one or more processors configured to execute instructions stored on one or more computer-readable media, wherein the instructions are executable by the one or more processors to implement a method comprising: predicting a driving range based on historical driving range data, wherein the historical driving range data includes one or more distances that a vehicle was driven during one or more previous driving cycles, and wherein predicting the driving range based on the historical driving range data comprises: identifying at least two historical driving ranges in the historical driving range data that fall within a predetermined distance range of one another; identifying a trend relating to when the historical driving ranges occurred; and predicting the driving range based on the at least two historical driving ranges that fall within the predetermined distance range of one another when a present day falls within the trend; selecting a motor assistance profile from among a plurality of motor assistance profiles based on the predicted driving range, wherein each of the plurality of motor assistance profiles comprises data used to determine assistance provided to the engine at predetermined operating conditions of the engine; and selectively operating the motor to provide assistance to the engine at predetermined operating conditions of the engine based on the data of the selected motor assistance profile, wherein the assistance provided to the engine at one or more of the predetermined operating conditions under the selected motor assistance profile is based at least in part on the predicted driving range; wherein each of the plurality of motor assistance profiles comprises a plurality of data elements, wherein each of the plurality of data elements is associated with at least one of one or more linear speeds or one or more rotational speeds, and wherein the assistance provided to the engine at one or more of a particular linear speed or a particular rotational speed is determined based at least in part on the data element of the selected motor assistance profile that is associated with the one or more of the particular linear speed and the particular rotational speed.
 28. The hybrid drive system of claim 27, wherein the driving range is predicted based on an average of historical driving range data for two or more previous driving cycles.
 29. The hybrid drive system of claim 27, wherein the assistance provided to the engine is determined based at least in part on a frequency with which the vehicle is operated at one or more operating conditions, wherein the frequency is determined based on historical data for the vehicle.
 30. The hybrid drive system of claim 27, wherein selecting the motor assistance profile from among the plurality of motor assistance profiles comprises selecting the motor assistance profile further based at least in part on an available energy level of an energy storage device configured to provide power to the electric motor, wherein the available energy level is based on the difference between a starting energy level and a minimum energy level, wherein the minimum energy level is higher than a lowest possible energy level for the energy storage device such that the available energy level is less than a total energy that may be stored in the energy storage device.
 31. The hybrid drive system of claim 30, wherein the assistance provided to the engine at one or more of the predetermined operating conditions is determined based at least in part on an amount of energy expected to be regenerated over the driving range, wherein the amount of energy expected to be regenerated is predicted based on an amount of energy regenerated during one or more previous driving cycles.
 32. The hybrid drive system of claim 30, wherein the instructions are executable to cause the controller to monitor a present energy level of the energy storage device, wherein the assistance provided to the engine at one or more of the predetermined operating conditions is varied based on the present energy level.
 33. The hybrid drive system of claim 27, wherein selectively operating the motor comprises generating one or more control signals configured to control operation of the electric motor based on the selected motor assistance profile.
 34. The hybrid drive system of claim 33, wherein the instructions are executable to cause the controller to determine acceleration data for the vehicle based on input received from one or more sensors, wherein the one or more control signals are configured to control the electric motor to provide at least one pulse of assistance at one or more times when the acceleration data indicates a demand for acceleration by operating the electric motor at a current above a continuous current rating of the electric motor.
 35. The hybrid drive system of claim 27, wherein the electric motor is coupled to a crankshaft of the engine at a first side of the engine and a transmission is coupled to the crankshaft at a second side of the engine opposite the first side. 